package com.youlai.system.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "考试名单分页对象")
@Data
public class ExamPageVO {

    @Schema(description = "考试名单ID")
    private Long id;

    @Schema(description = "培训司机ID")
    private Long studentId;

    @Schema(description = "故障名称ID")
    private Long courseId;

    @Schema(description = "部门名称")
    private String deptName;

    @Schema(description = "培训司机工号")
    private String account;

    @Schema(description = "培训司机姓名")
    private String studentName;

    @Schema(description = "故障名称")
    private String courseName;

    @Schema(description = "故障周期")
    private Integer courseMonth;

    @Schema(description = "故障周期中文")
    private String courseMonthStr;

    @Schema(description = "最新等级")
    private Integer lastDegree;

    @Schema(description = "人员批次")
    private String sourceName;

    @Schema(description = "评估次数")
    private Integer evaluateTimes;

    @Schema(description = "已评估次数")
    private Long hasEvaluateTimes;

    @Schema(description = "上一次考试时间")
    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime prevScoreTime;

    @Schema(description = "下一次考试时间")
    @JsonInclude(value = JsonInclude.Include.NON_NULL)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime nextScoreTime;

    @Schema(description = "关联的初始等级或者周期等级ID")
    private Long periodDegreeId;
    @Schema(description = "关联表类型")
    private Integer periodDegreeType;

    @Schema(description = "等级字母表示")
    private String degreeStr;
}
